\paragraph{}
La relazione si articola in diverse parti: a una prima enunciazione degli obiettivi da raggiungere e i punti fermi posti segue una spiegazione del gioco scelto e le sue regole, in quanto non si tratta di un gioco molto noto.\\
Segue una breve trattazione delle scelte progettuali fatte: quali informazioni i giocatori condividono, quali tipi di comunicazioni effettuano, come vengono affrontati i crash e quali situazioni determinano il termine del gioco.\\
Infine, esponiamo gli aspetti implementativi del progetto: come \`e strutturato il codice, quali strutture contengono lo stato condiviso, e come il progetto reagisce concretamente ai crash. Diagrammi delle classi approfondiscono la sezione sulla strutturazione del codice, e diagrammi di sequenza scendono nel dettaglio della logica dei principali metodi di comunicazione tra i processi.

\section{Obiettivi}
L'obiettivo del progetto \`e sviluppare un prototipo di gioco distribuito con giocatori da due in su. I giocatori sono tutti pari tra loro, e condividono le stesse informazioni sul gioco e il suo svolgimento. Il prototipo resiste a guasti di tipo crash fino al numero di giocatori meno il vincitore.\\
Solo il servizio di registrazione \`e centralizzato.